#ifndef PARTICLEGRAVITYGENERATOR_H
#define PARTICLEGRAVITYGENERATOR_H

#include "AbstractParticleForceGenerator.h"

namespace SimPhy
{


class ParticleGravityGenerator : public AbstractParticleForceGenerator
{
public:
    /** Creates the generator with the given gravity. */
    ParticleGravityGenerator(const Vector3D& gravityAcceleration);

    /** Creates the generator with the given gravity. */
    virtual ~ParticleGravityGenerator();

    /** Applies the gravitationnal force to the given particle. */
    virtual void updateForce(Particle *particle, real timeStep);

private:

    /** Holds the acceleration due to gravity */
    Vector3D m_gravityAcceleration;
};

}

#endif // PARTICLEGRAVITYGENERATOR_H
